/* The file is saved in UTF-8 codepage.
 * Check: «Stereotype», Section mark-§, Copyright-©, Alpha-α, Beta-β, Smile-☺
 */
package cz.pecinovsky.english.lootp.manager;



////////////////////////////////////////////////////////////////////////////////
//%%+  +++++ End of ignored starting test - place for imports +++++

//%X+ xxxxx Start of the ovejumped text with declaration of the envelope xxxxx
/*******************************************************************************
 *<pre>
 * Previous:  {@link cz.pecinovsky.english.lootp.shape.IShape}
 * Following: No
 *
 * Project  114 - Mediator and listener
 *        >=119 - Interface implementation
 *   ¤ No visible changes. The basic change is alteration of the project
 *     that swithces from {@link cz.pecinovsky.english.lootp.shape.Canvas}
 *     to {@link cz.pecinovsky.english.lootp.shape.CanvasManager}.
 *   + It is now a child of the interface {@link ICopyable},
 *     however, the overriding method {@link #copy()} returns
 *     an instance of this interface {@link IShape}
 *   - The methods {@code repaint()} and {@code rubout()} were removed.
 *     avšak jeho verze zděděné metody
 *</pre>
 *
 * @author Rudolf PECINOVSKÝ
 * @version 6.03.2017 — 2010-11-08
 */

////////////////////////////////////////////////////////////////////////////////
//%X- ----- End of the ovejumped text with declaration of the envelope -----


/*******************************************************************************
 * Instances of the interface {@code IShape} represents
 * general geometric objects
 * that are mind for work on a virtual canvas
 * during the first introduction to objects.
 *
 * @author Rudolf PECINOVSKÝ
 * @version 6.03.2017 — 2010-11-08
 */
public interface IShape extends IChangeable, ICopyable
{
//== CONSTANTS =================================================================
//== DECLARED METHODS ==========================================================

    /***************************************************************************
     * Returns a deep copy of the instance.
     * <p>
     * In opposition to its parent that returns an instance of the interface
     * {@link ICopyable} this method restricts the returned values
     * to instances of this interface {@code IShape}.
     *
     * @return The requested copy
     */
    @Override
    public IShape copy();



//== INHERITED METHODS =========================================================
//== EMBEDDED DATA TYPES =======================================================
}
